package com.master.demo.im.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.master.common.api.IPageInfo;
import com.master.common.api.Query;
import com.master.common.api.ResponseInfo;
import com.master.demo.im.pojo.command.SessionListCommand;
import com.master.demo.im.pojo.entity.SessionList;
import com.master.demo.im.pojo.vo.SessionListVO;

import java.util.List;

/**
 * 会话列 服务类
 *
 * @author: Yang
 * @date: ${date}
 * @version: 1.0.0
 * Copyright Ⓒ 2021 恒翔 Computer Corporation Limited All rights reserved.
 */
public interface ISessionListService extends IService<SessionList> {

    /**
     * 查询会话列分页列表
     *
     * @param query 查询条件
     * @return 会话列集合
     */
    ResponseInfo<IPageInfo<SessionListVO>> pageSessionList(Query query);

    /**
     * 查询会话列列表
     *
     * @param query 查询条件
     * @return 会话列集合
     */
    ResponseInfo<List<SessionListVO>> listSessionList(Query query);

    /**
     * 根据主键查询会话列表
     *
     * @param id 会话列主键
     * @return 会话列
     */
    ResponseInfo<SessionListVO> getSessionListById(Long id);

    /**
     * 新增会话列表
     *
     * @param command 会话列
     * @return 结果
     */
    ResponseInfo saveSessionList(SessionListCommand command);

    /**
     * 修改会话列表
     *
     * @param command 会话列
     * @return 结果
     */
    ResponseInfo updateSessionList(SessionListCommand command);

    /**
     * 批量删除会话列表
     *
     * @param ids 需要删除的会话列主键集合
     * @return 结果
     */
    ResponseInfo removeSessionListByIds(List<Long> ids);

    /**
     * 删除会话列表信息
     *
     * @param id 会话列主键
     * @return 结果
     */
    ResponseInfo removeSessionListById(Long id);

}
